package com.xmy.cultivate.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xmy.cultivate.entity.Course;
import com.xmy.cultivate.entity.Grade;
import com.xmy.cultivate.entity.RenewData;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xmy.cultivate.entity.views.ReNewDetailForTeacher;
import com.xmy.cultivate.entity.views.ResidueStatics;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author min
 * @since 2022-11-29
 */
public interface IRenewDataService extends IService<RenewData> {

    public abstract boolean addData(Long school_id, Long student_id,Integer yearPart, Course course, Grade grade);

    public abstract boolean updateData(Long school_id, Long student_id, Course course, Grade grade,Integer courseHouse,Integer reNewType);

    public abstract boolean deleteData(Long schoolId, Long studentId,Long subjectsId,Integer yearPart,Integer quarterNum);

    public abstract boolean updateTeacher(Long schoolId, Long studentId,Course course, Grade grade);

    public abstract boolean transferSchoolUpdate(Long studentId,Long outSchoolId,Integer outYearPart,Long inSchoolId,Long outCourseId,Long inCourseId, Long inGradeId,Integer inCourseHosue);

    public abstract boolean deleteTeacherForGradeDelStudent(Grade grade, Long teacherId,Long studentId,Long subjectsId,Integer yearPart,Integer quarterNum);

    public abstract IPage<ReNewDetailForTeacher> getRnewDetailForTeahcer(IPage<?> page, Wrapper wrapper);

    public abstract List<ResidueStatics> residueStudentCount(QueryWrapper queryWrapper);
}
